package com.lcredu.tx.service;

import com.lcredu.tx.dao.GoodsDao;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;

/**
 * @author 黎长容
 * @date 2025-07-17 22:02
 */
@Service
public class MultiplyTxService {
    @Resource
    private GoodsService goodsService;

    /**
     * 默认传播机制是REQUIRED,也就是多个事物在同一个事务中时会进行传播,一起成功,一起失败
     * 修改为REQUIRES_NEW,则主事物被挂起,其余事务分开执行
     */
    @Transactional
    public void byGoods() {
        goodsService.buyGoodsTx(1, 1, 1);
        goodsService.buyGoodsTx2(1, 1, 1);

        System.out.println("购买了两次...");
    }
    
    
    
}
